/**
 * 用户相关服务
 */

const util = require('../utils/util.js');
const api = require('../config/api.js');


/**
 * 调用微信登录
 */
function loginByWeixin() {

	let code = null;
	return new Promise(function (resolve, reject) {
		return util.login().then((res) => {
			code = res.code;
			return util.getUserInfo();
		}).then((userInfo) => {
			//登录远程服务器
			util.request(api.AuthLoginByWeixin, {code: code, userInfo: userInfo}, 'POST').then(res => {
				if (res.errno === 0) {
					//存储用户信息
					wx.setStorageSync('userInfo', res.data.userInfo);
					wx.setStorageSync('token', res.data.token);

					resolve(res);
				} else {
					reject(res);
				}
			}).catch((err) => {
				reject(err);
			});
		}).catch((err) => {
			reject(err);
		})
	});
}

/**
 * 判断用户是否登录
 */
function checkLogin() {
	return new Promise(function (resolve, reject) {
		if (wx.getStorageSync('userInfo') && wx.getStorageSync('token')) {

			util.checkSession().then(() => {
				resolve(true);
			}).catch(() => {
				reject(false);
			});

		} else {
			reject(false);
		}
	});
}


module.exports = {
	loginByWeixin,
	checkLogin,
};











